<?php
/* Author:jaes Time:2009-01-10
静态生成类 htmlPage
自定义生成静态函数 printHtml,其中参数分别表示：
('静态页面标签(数组)','要替换标签的值(数组)','静态模板路径','生成后的路径','文件夹名称或路径')
*/

class htmlPage{
//生成静态
   function printHtml($htmlTagArray,$phpTagArray,$htmlOpen,$htmlPrint,$fileName=''){
     if(!empty($fileName)){ $this->createdir($fileName); } //创建文件夹
	 
	 if(!file_exists($htmlOpen)){
	 	echo "{$htmlOpen}模板文件不存在";
	 }
	 
	 // 建立文件
	 if(!file_exists($htmlPrint)){
		//mkdir("fa","0777");  // 建立文件夹
		fopen($htmlPrint,"w+");
	}
	 
    $str_html=$this->readModel($htmlOpen); //读取模板
$str_html=str_replace($htmlTagArray,$phpTagArray,$str_html);
$this->writeModel($htmlPrint,$str_html);    //写入并生成html文件
   }
//只读静态HTML模板
    function readModel($model_path){
    global $str_html;
    $fp=fopen($model_path,"r");                       //只读打开模板 
    $str_html=fread($fp,filesize($model_path));       //读取模板中内容 
    fclose($fp);
    return $str_html;
}

//生成的HTML文件
function writeModel($html_path,$str_html){
    $handle=fopen($html_path,"w");        //写入方式打开新闻路径 
    fwrite($handle,$str_html);            //把刚才替换的内容写进生成的HTML文件 
    fclose($handle);
}

//创建文件夹
function createdir($dir){
$edir = explode('/',$dir);
   for($i=0;$i<count($edir);$i++){
   $edirm = $edir[0];
     for($ii=1;$ii<=$i;$ii++){
     $edirm = $edirm.'/'.$edir[$ii];
     }
     if(file_exists($edirm) && is_dir($edirm)){
     }else{
      @mkdir ($edirm,0777);
     }
   }
}
}
?>


<?php
//调用类生成静态代码:
/*$title="标题";
$content="内容";
$time=date("YmdHis");
$model_path="../views/system/index.html";   //静态模板路径
$htmlPath="bb/{$time}.html"; //生成后的路径
$htmlTag=array('{title}','{content}','{time}');   //静态页面标签
$values=array($title,$content,$time);       //要替换标签的值
//生成静态开始
//require_once('../class/HtmlPage.php');
$htmlStr=new htmlPage();
$htmlStr->printHtml($htmlTag,$values,$model_path,$htmlPath,'bb');
//生成静态结束
echo "生成完毕!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='{$htmlPath}' target='_blank'>现在查看</a>";

//注:以上静态模板自己设置,静态模板包括标签有"{title}","{content}","{time}".*/
?>



